package com.winsdom.service;

import com.winsdom.dto.threeTables.ThreeTablesDto;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.winsdom.domain.vo.FinishedThreeTableVO;
import com.winsdom.domain.vo.UnfinishedThreeTableVO;
import com.winsdom.entity.ThreeTables;
import com.baomidou.mybatisplus.extension.service.IService;
import com.winsdom.result.Result;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * <p>
 * 三表表 服务类
 * </p>
 *
 * @author 
 * @since 2025-05-12
 */
public interface IThreeTablesService extends IService<ThreeTables> {

    Page<UnfinishedThreeTableVO> getUnfinishedThreeTables(Long pageNum, Long pageSize, Long resourceId,Long buildingId, String number, Integer type);

    Page<FinishedThreeTableVO> getFinishedThreeTables(Long pageNum, Long pageSize, Long resourceId,Long buildingId, String number, Integer type);
    Result getResourceTree();

    Result getList(ThreeTablesDto threeTablesDto);

    Result add(ThreeTables threeTables);

    Result updateThreeTables(ThreeTables threeTables);

    Result delete(Integer id);

    Result getQRcode(Integer id) throws IOException;

    Result getBatchQRcode(List<Integer> ids);

    void getAllFinishedThreeTablesByBuilding(HttpServletResponse response,Long buildingId);
}
